package com.link2room.ironhide.facade;

import com.link2room.common.dto.param.base.BaseParamDto;
import com.link2room.common.dto.result.base.HotelBaseInfoDto;
import com.link2room.common.jpa.result.QueryResult;
import com.link2room.ironhide.dto.result.manager.L2RServiceDto;
import com.link2room.ironhide.dto.param.inside.HotelBaseInfoInsideParamDto;
import com.link2room.ironhide.dto.param.inside.HotelMinPriceInsideParamDto;
import com.link2room.ironhide.dto.result.base.L2RHotelPictureDto;

import java.util.List;

/**
 * Created by sss on 2016/8/25.
 */
public interface IHotelInfoFacadeService {
    /**
     * 酒店基础信息列表
     * @param hotelBaseInfoInsideParamDto
     * @return
     * @throws Exception
     */
    QueryResult<HotelBaseInfoDto> listHotelBaseInfo(HotelBaseInfoInsideParamDto hotelBaseInfoInsideParamDto)throws Exception;

    /**
     * 酒店基础信息
     * @param hotelBaseInfoInsideParamDto
     * @return
     * @throws Exception
     */
    HotelBaseInfoDto getHotelBaseInfo(HotelBaseInfoInsideParamDto hotelBaseInfoInsideParamDto)throws Exception;

    QueryResult<L2RHotelPictureDto> getHotelBigPic(HotelBaseInfoInsideParamDto hotelBaseInfoInsideParamDto)throws Exception;

    QueryResult<L2RHotelPictureDto> getHotelPics(HotelBaseInfoInsideParamDto hotelBaseInfoInsideParamDto)throws Exception;

    void saveHotelGroupMinPrice(HotelMinPriceInsideParamDto hotelMinPriceInsideParamDto) throws Exception;

    /**
     * 保存酒店最低价
     * @param hotelMinPriceInsideParamDto
     * @throws Exception
     */
    void saveHotelMinPrice(HotelMinPriceInsideParamDto hotelMinPriceInsideParamDto)throws Exception;

    List<L2RServiceDto> getL2RHotelServices(BaseParamDto baseParamDto)throws Exception;
}
